SSH UserEnvironment einrichten
Damit der User beim einloggen per SSH auf dem Server ein Namen bekommt, aktivieren wir die SSH Option PermitUserEnvironment in der Datei /etc/ssh/sshd_config
. In der /var/log/syslog
Datei steht dann der User, welcher sich auf dem System per SSH eingelogt hat.
....
Apr 8 09:04:38 earth logger: Login by "Fred Feuerstein" as "root". $SSH_CLIENT=217.199.67.137 15293 22.
....
Zuerst setzen wir die Option PermitUserEnvironment in der Datei /etc/ssh/sshd_config
auf yes. Wenn diese Option nicht existiert, erstellen wir sie einfach.
....
PermitUserEnvironment yes
....
Dann erstellen wir uns die Datei /etc/ssh/sshrc
, mit folgendem Inhalt.
#!/bin/bash
# xauth handling, code adapted from sshd(8)
if read proto cookie && [ -n "$DISPLAY" ]; then
if [ `echo $DISPLAY | cut -c1-10` = 'localhost:' ]; then
# X11UseLocalhost=yes
echo add unix:`echo $DISPLAY | cut -c11-` $proto $cookie
else
# X11UseLocalhost=no
echo add $DISPLAY $proto $cookie
fi | /usr/bin/xauth -q -
fi
if [ "$ORIGINAL_USER" = "" ]; then
logger -pdaemon.notice "Login by \"unknown user\" as \"$USER\" \$SSH_CLIENT=$SSH_CLIENT."
else
logger -pdaemon.notice "Login by \"$ORIGINAL_USER\" as \"$USER\" \$SSH_CLIENT=$SSH_CLIENT."
fi
# vim: syntax=bash ts=4 sw=4 sts=4 sr noet
Da wir nun die Option PermitUserEnvironment aktiviert haben, kann man zu jeden SSH Key in der ~/.ssh/authorized_keys
Informationen in Variablen packen, welche Systemweit Gültigkeit haben.
....
environment="ORIGINAL_USER=Fred Feuerstein" ssh-rsa AAAAB3Nza...OQ== ffeuerstein@flintstones.net
....
Damit die Änderungen übernommen werden, starten wir den Service ssh neu.
root:~# systemctl restart ssh.service